package Terminal.View.Gestori;

import javax.swing.JOptionPane;

import Terminal.View.TimeLoggingFrame;

public class GestoreErrore {

	private static GestoreErrore _istanza;
	
	private GestoreErrore()
	{}
	
	public static GestoreErrore istanza()
	{
		if (_istanza == null)
			_istanza = new GestoreErrore();
		return _istanza;
	}
	
	public void smistaScenario(String scenario)
	{
		switch (scenario) {	
		
		case "CreaTask":
			this.erroreTask();
			break;
		
		case "NuovaDipendenza":
			this.erroreDipendenza();
			break;
			
		case "ErroreGenerico" :
			this.erroreGenerico();			
			break;
			
		case "CredenzialiErrate":
			this.credenzialiErrate();
			break;

		default:
			this.erroreGenerico();
			break;
		}
				
	}
	


	private void erroreGenerico()
	{
		System.out.println("Errore Generico");
	}
	
	private void erroreTask() {
		JOptionPane.showConfirmDialog(TimeLoggingFrame.istanza(), "Sono spiacente non posso salvare il task.\nRicorda: \n- Il task deve avere un titolo, \n- Le date del task devono essere in ordine, \n- Le date del task devono essere comprese in quelle del sottoprogetto \n- Il task deve avere un consulente.","Errore salvataggio", JOptionPane.DEFAULT_OPTION,JOptionPane.ERROR_MESSAGE);//,JOptionPane.OK_OPTION);
	}
	
	private void credenzialiErrate(){
		JOptionPane.showConfirmDialog(TimeLoggingFrame.istanza(), "Sono spiacente non posso eseguire l'accesso. \n Prova a riscrivere correttamente le tue credenziali","Accesso negato", JOptionPane.DEFAULT_OPTION,JOptionPane.ERROR_MESSAGE);//,JOptionPane.OK_OPTION);
	}
	
	private void erroreDipendenza() {
		JOptionPane.showConfirmDialog(TimeLoggingFrame.istanza(), "Sono spiacente non posso salvare il task. \n Ti ricordo che il task padre della dipendenza deve finire prima del task figlio (task nuovo)","Errore salvataggio", JOptionPane.DEFAULT_OPTION,JOptionPane.ERROR_MESSAGE);//,JOptionPane.OK_OPTION);
		
	}
}
